package com.chenglai.order.service;

import com.chenglai.order.pojo.MainOrder;
import com.chenglai.order.pojo.Order;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * 类描述：
 * @author rjh
 * @date 2023/11/10 14:55
 */
@Service
public interface OrderService {
    /**
     * 添加预付订单
     * @param mainOrder 主订单信息
     */
    Map toAddMainOrders(MainOrder mainOrder);

    /**
     * 添加物流信息订单
     * @param moId
     * @param orderWuliu
     * @param orderCom
     * @param orderWuliuName
     * @param postSum
     */
    void addMainOrderWuliu(Integer moId, String orderWuliu, String orderCom, String orderWuliuName, Double postSum);

    /**
     * 获取我的订单
     * @param userId
     * @param shopId
     * @param status
     * @return
     */
    List<MainOrder> getMainOrder(Integer userId, Integer shopId,Integer status);

    /**
     * 获取订单列表
     * @param page
     * @param size
     * @param shopId
     * @param status
     * @return
     */
    PageInfo getMainOrderList(Integer page, Integer size, Integer shopId,Integer status);

    /**
     * 修改订单状态
     * @param orderNum
     * @param status
     * @param transactionId
     */
    void updateOrderStatus(String orderNum,Integer status,String transactionId);

    /**
     * 修改订单状态
     * @param transactionId
     * @param status
     */
    void updateOrderRefundStatus(String transactionId,Integer status);

    void addMainOrder(MainOrder mainOrder);

//    void addOrderList(List<Order> orders);
    /**
     * 获取订单来源
     * @param orderNum
     * @return
     */
    Integer queryOrderFrom(String orderNum);

    Map<String,Object> detailByGroupOn(String orderNum);

    Map<String,Object> queryRefundParam(String orderNum);

    void updateOrderGroup(String  orderNum,Integer groupId);

    void updateOrderGroupStatus(Integer groupId,Integer status);

}
